home *** CD-ROM | disk | FTP | other *** search
/ Shareware Grab Bag / Shareware Grab Bag.iso / 090 / bowling.arc / FINAL.BAS (.txt) < prev    next >
Encoding:
GW-BASIC  |  1985-07-12  |  4.5 KB  |  127 lines

  1. 10  REM PRINT FINAL STANDINGS SHEET     (FINAL)
  2. 12  REM Developed by William W. Klaproth,  Moraga Ca.  94556    September 1982
  3. 20  REM MASTER FILE DESCRIPTIONS FOR ALL BOWLING PROGRAMS
  4. 30  OPEN "B:TEAMS.HDR" AS #1 LEN = 64
  5. 40  FIELD #1, 2 AS TM$, 30 AS NAM$, 2 AS RCNT$, 2 AS GAM$, 4 AS PINS$, 2 AS AVG$, 2 AS HIG$, 2 AS HIS$, 4 AS PTSW$, 4 AS PTSL$, 2 AS B1ID$, 2 AS B2ID$, 2 AS B3ID$, 2 AS B4ID$, 2 AS B5ID$
  6. 50  FIELD #1, 2 AS HDRID$, 30 AS LEAGUE$, 2 AS WEEKS$, 2 AS TEAMS$, 4 AS FILLER$, 2 AS BWLPERTM$, 2 AS NXTID$, 2 AS HCPBASE$, 4 AS HCPPCNT$
  7. 60  OPEN "B:BOWLERS.HDR" AS #2 LEN = 64
  8. 70  FIELD #2, 2 AS BBO$, 30 AS BNAM$, 2 AS BRCNT$, 2 AS BGAM$, 4 AS BPINS$, 2 AS BAVG$, 2 AS BHIG$, 2 AS BHIS$, 2 AS BHCP$, 2 AS BHIGH$, 2 AS BHISH$, 2 AS BTM$,2 AS GAM2$, 2 AS SER5$, 2 AS SER6$,2 AS CURSER$,2 AS AVGLSTYR$
  9. 80  REM OPEN "B:TEAM.DET" AS #3 LEN = 16
  10. 90  REM FIELD #3,2 AS DTM$, 2 AS TMO$, 2 AS TDAY$, 2 AS TG1$, 2 AS TG2$, 2 AS TG3$, 2 AS TSER$, 2 AS DPTSW$
  11. 100  REM OPEN "B:BOWLER.DET" AS #4 LEN = 16
  12. 110  REM FIELD #4,2 AS DBO$, 2 AS BMO$, 2 AS BDAY$, 2 AS BG1$, 2 AS BG2$, 2 AS BG3$, 2 AS BSER$
  13. 120  CLS
  14. 130  PRINT "PRINT FINAL STANDINGS"
  15. 140  GET #1,1
  16. 150  TEAMS% = CVI(TEAMS$)
  17. 160  WEEKS% = CVI(WEEKS$)
  18. 170  BOWLERS% = CVI(BWLPERTM$)
  19. 180  NEXTID% = CVI(NXTID$)
  20. 190  DIM TM%(TEAMS%)
  21. 200  DIM NAM$(TEAMS%)
  22. 210  DIM GAM%(TEAMS%)
  23. 220  DIM PINS(TEAMS%)
  24. 230  DIM AVG%(TEAMS%)
  25. 240  DIM HIG%(TEAMS%)
  26. 250  DIM HIS%(TEAMS%)
  27. 260  DIM PTSW(TEAMS%)
  28. 270  DIM PTSL(TEAMS%)
  29. 280  INPUT "ENTER LEAGUE YEAR FOR TITLE LINE:",IYEARCON$
  30. 290  LPRINT SPC(30);NAM$
  31. 300  LPRINT SPC(34);IYEARCON$
  32. 310  LPRINT " "
  33. 320  PRINT "PRINTING BOWLER RECAP"
  34. 330  LPRINT "TEAM NAME                            PINS GMS  AVG  HIG  HIS 200 500 600 IMPR"
  35. 340  LPRINT "---- -----                           ---- ---  ---  ---  --- --- --- --- ----"
  36. 350  FOR T% = 1 TO TEAMS%
  37. 360  GET #1, (T% + 1)
  38. 370  TM%(T%) = CVI(TM$)
  39. 380  NAM$(T%) = NAM$
  40. 390  GAM%(T%) = CVI(GAM$)
  41. 400  PINS(T%) = CVS(PINS$)
  42. 410  AVG%(T%) = CVI(AVG$)
  43. 420  HIG%(T%) = CVI(HIG$)
  44. 430  HIS%(T%) = CVI(HIS$)
  45. 440  PTSW(T%) = CVS(PTSW$)
  46. 450  PTSL(T%) = CVS(PTSL$)
  47. 460  BID%(1) = CVI(B1ID$)
  48. 470  BID%(2) = CVI(B2ID$)
  49. 480  BID%(3) = CVI(B3ID$)
  50. 490  BID%(4) = CVI(B4ID$)
  51. 500  BID%(5) = CVI(B5ID$)
  52. 510  FOR B% = 1 TO BOWLERS%
  53. 520  GET #2,BID%(B%)
  54. 530  IF B% = 1 THEN LPRINT USING " ##  ";T%;
  55. 540  IF B% > 1 THEN LPRINT "     ";
  56. 550  LPRINT BNAM$;
  57. 560  LPRINT USING " ##### ";CVS(BPINS$);
  58. 570  LPRINT USING "### ";CVI(BGAM$);
  59. 580  LPRINT USING " ### ";CVI(BAVG$),CVI(BHIG$),CVI(BHIS$);
  60. 590  GAM2% = CVI(GAM2$): SER5% = CVI(SER5$): SER6% = CVI(SER6$)
  61. 600  IF GAM2% = 0 THEN LPRINT SPC(4) ELSE LPRINT USING "### ";CVI(GAM2$);
  62. 610  IF SER5% = 0 THEN LPRINT SPC(4) ELSE LPRINT USING "### ";CVI(SER5$);
  63. 620  IF SER6% = 0 THEN LPRINT SPC(4) ELSE LPRINT USING "### ";CVI(SER6$);
  64. 630  DIFF% = CVI(BAVG$) - CVI(AVGLSTYR$)
  65. 640  LPRINT USING " ###";DIFF%
  66. 650  NEXT B%
  67. 660  NEXT T%
  68. 670  LPRINT "*****************************************************************************"
  69. 680  PRINT "PRINTING SUBSTITUTE RECAP"
  70. 690  LPRINT "SUBS"
  71. 700  FOR S% = 1 TO (NEXTID% - 1)
  72. 710  GET #2,S%
  73. 720  IF CVI(BTM$) > 0 GOTO 840
  74. 730  LPRINT SPC(5)
  75. 740  LPRINT BNAM$;
  76. 750  LPRINT USING " ##### ";CVS(BPINS$);
  77. 760  LPRINT USING "### ";CVI(BGAM$);
  78. 770  LPRINT USING " ### ";CVI(BAVG$),CVI(BHIG$),CVI(BHIS$);
  79. 780  GAM2% = CVI(GAM2$): SER5% = CVI(SER5$): SER6% = CVI(SER6$)
  80. 790  IF GAM2% = 0 THEN LPRINT SPC(4) ELSE LPRINT USING "### ";CVI(GAM2$);
  81. 800  IF SER5% = 0 THEN LPRINT SPC(4) ELSE LPRINT USING "### ";CVI(SER5$);
  82. 810  IF SER6% = 0 THEN LPRINT SPC(4) ELSE LPRINT USING "### ";CVI(SER6$);
  83. 820  DIFF% = CVI(BAVG$) - CVI(AVGLSTYR$)
  84. 830  LPRINT USING " ###";DIFF%
  85. 840  NEXT S%
  86. 850  LPRINT CHR$(12)     'SKIP TO NEXT PAGE
  87. 860  REM SORT TEAMS BY POINTS WON
  88. 870  PRINT "SORTING TEAMS BY POINTS WON"
  89. 880  DIM TABTM%(TEAMS%)
  90. 890  DIM TABPTS#(TEAMS%)
  91. 900  FOR S% = 1 TO TEAMS%
  92. 910  TABPTS#(S%) = 1E+09
  93. 920  NEXT S%
  94. 930  X% = 1: Y% = 1
  95. 940  PTSWT# = (PTSW(X%) * 1E+06 + PINS(X%))
  96. 950  IF PTSWT# < TABPTS#(Y%) GOTO 970
  97. 960  Y% = Y% + 1: GOTO 940
  98. 970  LAST% = TEAMS%
  99. 980  TABPTS#(LAST%) = TABPTS#(LAST% - 1): TABTM%(LAST%) = TABTM%(LAST% - 1)
  100. 990  LAST% = LAST% - 1
  101. 1000  IF LAST% = Y% GOTO 1010 ELSE GOTO 980
  102. 1010  TABPTS#(Y%) = PTSWT#:TABTM%(Y%) = TM%(X%)
  103. 1020  IF X% = TEAMS% GOTO 1050
  104. 1030  Y% = 1: X% = X% + 1: GOTO 940
  105. 1040  REM END OF INTERNAL SORT ROUTINE
  106. 1050  PRINT "PRINTING TEAM STANDINGS"
  107. 1060  LPRINT SPC(30);"FINAL TEAM STANDINGS"
  108. 1070  LPRINT SPC(30);"--------------------"
  109. 1080  LPRINT " "
  110. 1090  LPRINT "PLACE TEAM                            WON   LOST   PINS   GAM  AVG  HIG  HIS"
  111. 1100  LPRINT "----- -----                           ---   ----   ----   ---  ---  ---  ---"
  112. 1110  PLACE% = 1
  113. 1120  FOR PL% = TEAMS% TO 1 STEP -1
  114. 1130  T% = TABTM%(PL%)
  115. 1140  LPRINT USING "  ##  ";PLACE%;
  116. 1150  LPRINT NAM$(T%);
  117. 1160  LPRINT USING "###.#  ";PTSW(T%),PTSL(T%);
  118. 1170  LPRINT USING "#####  ";PINS(T%);
  119. 1180  LPRINT USING " ### ";GAM%(T%);
  120. 1190  LPRINT USING "#### ";AVG%(T%),HIG%(T%),HIS%(T%)
  121. 1200  PLACE% = PLACE% + 1
  122. 1210  NEXT PL%
  123. 1220  LPRINT "*****************************************************************************"
  124. 1230  PRINT "Processing Completed - Returning to MENU"
  125. 1240  CLOSE
  126. 1250  RUN "A:MENU"
  127.